home *** CD-ROM | disk | FTP | other *** search
- /*
- File: DialogWindow.h
-
- Contains: Interfaces of a base class for Modeless Dialogs
-
- Written by: Dave Falkenburg
-
- Copyright: © 1993-1995 by Dave Falkenburg, all rights reserved.
-
- Change History (most recent first):
-
- <4> 1/20/95 DRF Adapt to new Menu handling methodology. Also protected the
- constructor, as this is really an abstract class.
- <3> 11/8/94 DRF We have better menu handling methods, so use them instead of the
- old “DoEditMenu” method.
- <2> 10/17/94 DRF Made ItemHit a pure virtual method.
- */
-
- #ifndef _DIALOGWINDOW_
- #define _DIALOGWINDOW_
-
- #ifndef _WINDOW_
- #include "Window.h"
- #endif
-
- #ifndef __DIALOGS__
- #include <Dialogs.h>
- #endif
-
- typedef short DialogTemplateID;
- typedef short DialogItemID;
-
-
-
- class TDialogWindow : public TWindow
- {
- private:
- DialogTemplateID fTemplateID;
-
- protected:
-
- // types of dialogs that we can create
-
- enum DialogType
- {
- kModalDialog = 0,
- kModelessDialog
- };
-
- // Protect the constructor, because this is an abstract class
-
- TDialogWindow(DialogType dialogType, DialogTemplateID theDialogTemplate);
-
- public:
- virtual Boolean EventFilter(EventRecord *theEvent);
- virtual Boolean FilterDialogEvent(EventRecord *theEvent, short *itemHit );
-
- virtual WindowRef MakeNewWindow(WindowRef behindWindow);
- virtual Boolean Close(void);
-
- virtual void Activate(Boolean activating);
- virtual void Draw(void);
- virtual void Click(EventRecord *anEvent);
-
- virtual void AdjustMenusBeforeMenuSelection(void);
- virtual Boolean DoMenuCommand(MenuCommandID command);
-
- // New methods that MUST be overridden:
-
- virtual void ItemHit(short theItem) = 0;
-
- inline DialogRef GetDialogRef(void) { return (DialogRef) fWindow; }
- };
-
- #endif
-